package cn.lili.modules.goods.service;

import cn.lili.modules.goods.entity.dos.Brand;
import cn.lili.modules.goods.entity.dto.BrandPageDTO;
import cn.lili.modules.goods.entity.vos.BrandVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 商品品牌业务层
 *
 * @author pikachu
 * @since 2020-02-18 16:18:56
 */
public interface BrandService extends IService<Brand> {

	/**
	 * 根据条件分页获取品牌列表
	 *
	 * @param page
	 *            条件参数
	 * @return 品牌列表
	 */
	IPage<Brand> getBrandsByPage(BrandPageDTO page);

	/**
	 * 删除品牌
	 *
	 * @param ids
	 *            品牌id
	 */
	void deleteBrands(List<String> ids);

	/**
	 * 根据分类ID获取品牌列表
	 *
	 * @param categoryId
	 *            分类ID
	 * @return 品牌列表
	 */
	List<Brand> getBrandsByCategory(String categoryId);

	/**
	 * 添加品牌
	 *
	 * @param brandVO
	 *            品牌信息
	 * @return 添加结果
	 */
	boolean addBrand(BrandVO brandVO);

	/**
	 * 更新品牌
	 *
	 * @param brandVO
	 *            品牌信息
	 * @return 更新结果
	 */
	boolean updateBrand(BrandVO brandVO);

	/**
	 * 更新品牌是否可用
	 *
	 * @param brandId
	 *            品牌ID
	 * @param disable
	 *            是否不可用
	 * @return 更新结果
	 */
	boolean brandDisable(String brandId, boolean disable);

}